package com.css.dzj.dzjdzqs.modules.apaction.apcheck.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.base.Objects;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.Date;

/**
 * 行政检查行为
 * @Author WT
 * @Date 2020/6/28
 */
@Entity
@Table(name = "AP_JGXW_CHECK_ACTION", schema = "DZJJH", catalog = "")
public class ApCheckEntity {
    //主键
    private String actionId;
    //记录唯一标识
    private String recordUniqueIdentity;
    //监管事项目录编码
    private String superviseItemImplementCode;
    //监管事项检查实施清单编码
    private String superviseItemCheckICode;
    //检查行为名称
    private String checkActionName;
    //检查行为编号
    private String checkActionCode;
    //实施机构
    private String implementInstitution;
    //实施机构编码
    private String implementInstitutionCode;
    //受委托部门
    private String entrustDept;
    //受委托部门编码
    private String entrustDeptCode;
    //监管对象
    private String superviseObject;
    //行政相对人（单位/个人）
    private String administrativeCp;
    //行政相对人性质
    private String administrativeCpNa;
    //行政相对人证件类型
    private String administrativeCpCeType;
    //行政相对人(单位/个人)编码
    private String administrativeCpUiCode;
    //注册地址
    private String addressRegistered;
    //经营地址
    private String addressOperating;
    //行政区划代码
    private String areaNumber;
    //检查形式
    private String checkForm;
    //检查类别
    private String checkType;
    //检查方式
    private String checkMode;
    //检查结果
    private String checkResult;
    //检查时间
    private Date checkDate;
    //检查人员
    private String checkPersonnel;
    //执法证号
    private String checkPersonnelCode;
    //报送时间
    private Date submittedDate;
    //报送人员
    private String submittedPersonnel;
    //双随机一公开计划id
    private String planId;

    @Id
    @Column(name = "ACTION_ID")
    public String getActionId() {
        return actionId;
    }

    public void setActionId(String actionId) {
        this.actionId = actionId;
    }

    @Basic
    @Column(name = "Record_Unique_Identity")
    public String getRecordUniqueIdentity() {
        return recordUniqueIdentity;
    }

    public void setRecordUniqueIdentity(String recordUniqueIdentity) {
        this.recordUniqueIdentity = recordUniqueIdentity;
    }

    @Basic
    @Column(name = "Supervise_Item_Implement_Code")
    public String getSuperviseItemImplementCode() {
        return superviseItemImplementCode;
    }

    public void setSuperviseItemImplementCode(String superviseItemImplementCode) {
        this.superviseItemImplementCode = superviseItemImplementCode;
    }

    @Basic
    @Column(name = "Supervise_Item_Check_ICode")
    public String getSuperviseItemCheckICode() {
        return superviseItemCheckICode;
    }

    public void setSuperviseItemCheckICode(String superviseItemCheckICode) {
        this.superviseItemCheckICode = superviseItemCheckICode;
    }

    @Basic
    @Column(name = "Check_Action_Name")
    public String getCheckActionName() {
        return checkActionName;
    }

    public void setCheckActionName(String checkActionName) {
        this.checkActionName = checkActionName;
    }

    @Basic
    @Column(name = "Check_Action_Code")
    public String getCheckActionCode() {
        return checkActionCode;
    }

    public void setCheckActionCode(String checkActionCode) {
        this.checkActionCode = checkActionCode;
    }

    @Basic
    @Column(name = "Implement_Institution")
    public String getImplementInstitution() {
        return implementInstitution;
    }

    public void setImplementInstitution(String implementInstitution) {
        this.implementInstitution = implementInstitution;
    }

    @Basic
    @Column(name = "Implement_Institution_Code")
    public String getImplementInstitutionCode() {
        return implementInstitutionCode;
    }

    public void setImplementInstitutionCode(String implementInstitutionCode) {
        this.implementInstitutionCode = implementInstitutionCode;
    }

    @Basic
    @Column(name = "Entrust_Dept")
    public String getEntrustDept() {
        return entrustDept;
    }

    public void setEntrustDept(String entrustDept) {
        this.entrustDept = entrustDept;
    }

    @Basic
    @Column(name = "Entrust_Dept_Code")
    public String getEntrustDeptCode() {
        return entrustDeptCode;
    }

    public void setEntrustDeptCode(String entrustDeptCode) {
        this.entrustDeptCode = entrustDeptCode;
    }

    @Basic
    @Column(name = "Supervise_Object")
    public String getSuperviseObject() {
        return superviseObject;
    }

    public void setSuperviseObject(String superviseObject) {
        this.superviseObject = superviseObject;
    }

    @Basic
    @Column(name = "Administrative_Cp")
    public String getAdministrativeCp() {
        return administrativeCp;
    }

    public void setAdministrativeCp(String administrativeCp) {
        this.administrativeCp = administrativeCp;
    }

    @Basic
    @Column(name = "Administrative_Cp_Na")
    public String getAdministrativeCpNa() {
        return administrativeCpNa;
    }

    public void setAdministrativeCpNa(String administrativeCpNa) {
        this.administrativeCpNa = administrativeCpNa;
    }

    @Basic
    @Column(name = "Administrative_Cp_Ce_Type")
    public String getAdministrativeCpCeType() {
        return administrativeCpCeType;
    }

    public void setAdministrativeCpCeType(String administrativeCpCeType) {
        this.administrativeCpCeType = administrativeCpCeType;
    }

    @Basic
    @Column(name = "Administrative_Cp_UI_Code")
    public String getAdministrativeCpUiCode() {
        return administrativeCpUiCode;
    }

    public void setAdministrativeCpUiCode(String administrativeCpUiCode) {
        this.administrativeCpUiCode = administrativeCpUiCode;
    }

    @Basic
    @Column(name = "Address_Registered")
    public String getAddressRegistered() {
        return addressRegistered;
    }

    public void setAddressRegistered(String addressRegistered) {
        this.addressRegistered = addressRegistered;
    }

    @Basic
    @Column(name = "Address_Operating")
    public String getAddressOperating() {
        return addressOperating;
    }

    public void setAddressOperating(String addressOperating) {
        this.addressOperating = addressOperating;
    }

    @Basic
    @Column(name = "Area_Number")
    public String getAreaNumber() {
        return areaNumber;
    }

    public void setAreaNumber(String areaNumber) {
        this.areaNumber = areaNumber;
    }

    @Basic
    @Column(name = "Check_Form")
    public String getCheckForm() {
        return checkForm;
    }

    public void setCheckForm(String checkForm) {
        this.checkForm = checkForm;
    }

    @Basic
    @Column(name = "Check_Type")
    public String getCheckType() {
        return checkType;
    }

    public void setCheckType(String checkType) {
        this.checkType = checkType;
    }

    @Basic
    @Column(name = "Check_Mode")
    public String getCheckMode() {
        return checkMode;
    }

    public void setCheckMode(String checkMode) {
        this.checkMode = checkMode;
    }

    @Basic
    @Column(name = "Check_Result")
    public String getCheckResult() {
        return checkResult;
    }

    public void setCheckResult(String checkResult) {
        this.checkResult = checkResult;
    }

    @Basic
    @Column(name = "Check_Date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getCheckDate() {
        return checkDate;
    }

    public void setCheckDate(Date checkDate) {
        this.checkDate = checkDate;
    }

    @Basic
    @Column(name = "Check_Personnel")
    public String getCheckPersonnel() {
        return checkPersonnel;
    }

    public void setCheckPersonnel(String checkPersonnel) {
        this.checkPersonnel = checkPersonnel;
    }

    @Basic
    @Column(name = "Check_Personnel_Code")
    public String getCheckPersonnelCode() {
        return checkPersonnelCode;
    }

    public void setCheckPersonnelCode(String checkPersonnelCode) {
        this.checkPersonnelCode = checkPersonnelCode;
    }

    @Basic
    @Column(name = "Submitted_Date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getSubmittedDate() {
        return submittedDate;
    }

    public void setSubmittedDate(Date submittedDate) {
        this.submittedDate = submittedDate;
    }

    @Basic
    @Column(name = "Submitted_Personnel")
    public String getSubmittedPersonnel() {
        return submittedPersonnel;
    }

    public void setSubmittedPersonnel(String submittedPersonnel) {
        this.submittedPersonnel = submittedPersonnel;
    }

    @Basic
    @Column(name = "Plan_ID")
    public String getPlanId() {
        return planId;
    }

    public void setPlanId(String planId) {
        this.planId = planId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ApCheckEntity that = (ApCheckEntity) o;
        return Objects.equal(actionId, that.actionId) &&
                Objects.equal(recordUniqueIdentity, that.recordUniqueIdentity) &&
                Objects.equal(superviseItemImplementCode, that.superviseItemImplementCode) &&
                Objects.equal(superviseItemCheckICode, that.superviseItemCheckICode) &&
                Objects.equal(checkActionName, that.checkActionName) &&
                Objects.equal(checkActionCode, that.checkActionCode) &&
                Objects.equal(implementInstitution, that.implementInstitution) &&
                Objects.equal(implementInstitutionCode, that.implementInstitutionCode) &&
                Objects.equal(entrustDept, that.entrustDept) &&
                Objects.equal(entrustDeptCode, that.entrustDeptCode) &&
                Objects.equal(superviseObject, that.superviseObject) &&
                Objects.equal(administrativeCp, that.administrativeCp) &&
                Objects.equal(administrativeCpNa, that.administrativeCpNa) &&
                Objects.equal(administrativeCpCeType, that.administrativeCpCeType) &&
                Objects.equal(administrativeCpUiCode, that.administrativeCpUiCode) &&
                Objects.equal(addressRegistered, that.addressRegistered) &&
                Objects.equal(addressOperating, that.addressOperating) &&
                Objects.equal(areaNumber, that.areaNumber) &&
                Objects.equal(checkForm, that.checkForm) &&
                Objects.equal(checkType, that.checkType) &&
                Objects.equal(checkMode, that.checkMode) &&
                Objects.equal(checkResult, that.checkResult) &&
                Objects.equal(checkDate, that.checkDate) &&
                Objects.equal(checkPersonnel, that.checkPersonnel) &&
                Objects.equal(checkPersonnelCode, that.checkPersonnelCode) &&
                Objects.equal(submittedDate, that.submittedDate) &&
                Objects.equal(submittedPersonnel, that.submittedPersonnel) &&
                Objects.equal(planId, that.planId);
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(actionId, recordUniqueIdentity, superviseItemImplementCode, superviseItemCheckICode, checkActionName, checkActionCode, implementInstitution, implementInstitutionCode, entrustDept, entrustDeptCode, superviseObject, administrativeCp, administrativeCpNa, administrativeCpCeType, administrativeCpUiCode, addressRegistered, addressOperating, areaNumber, checkForm, checkType, checkMode, checkResult, checkDate, checkPersonnel, checkPersonnelCode, submittedDate, submittedPersonnel, planId);
    }
}
